A common problem in telecommunications systems, and in computer systems generally, is determining how to analyze the performance of a system or of particular resources, such as switches, processors, servers, and the like. For example, it may be desirable to determine whether particular resources, such as server resources in heavily burdened call centers, are overutilized or underutilized, so that decisions may be made regarding tuning of the system and the resource. As systems and resources have become more complex over time, involving many different resources interacting with each other, and thus many parameters that may affect performance, a simple test to determine whether a system or a particular resource is at a level approaching failure is no longer adequate to assure a level of functionality to satisfy the needs of users.
System administrators have conventionally used ad hoc techniques gleaned from their experiences with system performance over time to manually adjust resources, for example, by replacing older components with newer, faster or more efficient components. As the complexity and size of the systems evolve, the system administrators are overwhelmed by the daunting task of determining the individual performance parameters of the multitude of the network and computing resources as well as their collective performance measure. One problem associated with such a manual process is a difficulty in distinguishing whether separate resources may be approaching a critical state, which needs adjustment, given the magnitude of the amount of data under consideration. Another problem lies in the possibility that a group of interrelated resources are performing adequately when viewed as individual resources, but may be approaching a critical level when evaluated as a more complex configuration of interrelated resources functioning as an entity.
Therefore, there is a need for a more efficient method and system for performance analysis of systems.